Caractérisation de la courbe PID de la température de l'eau du bac:
D'abord, les calculs PID ont été effectué en mode manuel en partant d'une valeur stable déterminer en pourcentage puis en augmentant cette valeur de 10%. À l'aide de la courbe obtenue, on peut alors calculer les valeur de Tau et du temp de délai pour ensuite calculer les valeurs de P, I et D. Si on regarde la courbe obtenue avec les paramètres, on remarque que la monté est quand même assez rapide que je qualifierais de plutot normal pour le procédé à cause du paramètre proportionnel qui est asser élevé et de la valeur du I faible de 2 secondes. Ainsi, on voit que la courbe dépasse la consigne car elle monte quand même assez rapidement. De plus, j'ai fait les calculs dans un optique de ratio 4 pour 1 car je voulais justement que la courbe atteigne la consigne rapidement pour ensuite baisser un peu en bas de la consigne pour ensuite se stabiliser. Le problème dans la courbe, c'est qu'elle prend trop de temps pour redescendre car il n'y a presque pas d'intégral. Autre problème en descente, la grande quantité d'eau dans le bac qui est refroidit par l'air ambient uniquement. J'ai la plus grande quantité d'eau dans mon bac. À l'aide du graphique obtenue, on pourrait tenter de d'ammenuiser le dépassement en doublant le I et en regardant l'effet obtenue. Plus de I signifierait que la courbe réagirait moins vite aux perturbations. Cependant, une fois le procédé stabilisé, on voit que la courbe demeure bien sur la consigne.
27 Mai 2009
Timer d'attente du Bras manipulateur: Nous devions être en mesure de modifier le temps de ce timer via l'interface-opérateur Intouch. Pour ce faire, Il faut d'abord créer un tagname I/O integer en prenant soins de cocher read-write et de mettre le dm correspondant.Aussi, il faut faire attention au plage RAW et EU qui ne peuvent aller en négative donc qui utiliseront la pleine plage de 0 à 65535. La plage opérateur est défini selon les valeurs min/max désirée. Ensuite, il faut le rattacher à l'item créer dans Intouch: Attente: #. Ensuite, il faut modifier le programme Omron en créant une boucle de modification avec un dm en BCD, un DM en binaire et le dm dans Intouch qui permet de modifier la valeur. Dans le first scan, il faut pré-insérer une valeur désirée dans le dm en BCD, puis la convertir en binaire dans le dm de Intouch (écriture opérateur). Ensuite, dans une fonction P_On on prend la valeur en BCD qu'on convertie dans le dm binaire, Puis on prend la valeur inscrit dans Intouch pour la convertir en BCD. La boucle est bouclé. La valeur en BCD est entré dans le timer directement par le dm.
Affiche P, I, D dans Intouch: La procédure en boucle est la mème. Il faut cependant créé un bouton On/Off pour éteindre le PID pour que les valeurs modifiées dans l'interace-opérateur soit effective dans le programme. On rattache alors un bit de contròle au bouton qui set/reset le bit dans le programme pour rompre la ligne d'activation du PID dans le programme.
Valeur min/max affiché dans Intouch et modifiable à même l'interface opérateur: on crée des tags pour chaque valeur min/max que l'on veut modifié via l'interface opérateur. Puis on rattache les tags au bon item crée dans Intouch comme exemple : Alarme haute température: #. Le tag doit être crée selon les valeurs RAW correspond au signal 4-20 binaire soit 819 à 4095 RAW puis on doit définir la valeur EU qui correspond à notre plage réel en décimal. Le dm rattaché à ce tag est directement placé dans le comprateur du programme Omron car le comparateur fonctionne directement avec les valeurs binaire.
17 février 2009
stratégie de programmation:
initialisation: Il n'y a pas vraiment de stratégie à adopter. Il faut activer et désactiver les bits nécessaires puis configurer les différents DM utilisés dans la suite du programme. Il faut aussi initialiser le contrôle PID en mettant les valeurs désirées.
Remplissage: C'est une stratégie de Timer et d'activation de bits. Un GRAFCET et une programmation standard suivant la logique établie.
Chauffage: Une fois encore, c'est une stratégie de Timer et d'activation de bits. Cependant, il y a l'incorporation d'un contrôle PID. Pour ce faire, Il faut faire un transfert de la valeur du PID instantanée (0 à 4095) pour ensuite la divisée par une valeur qui permettera d'obtenir un chiffre juste inférieur à la valeur du Timer de 52 secondes qui détermine le temps de cycle total. Ensuite, cette valeur obtenue est utilisée dans un timer qui déterminera le temps de chauffage.
Plaque: Stratégie de flip flop à deux étapes, deux transitions qui envoie une valeur (o ou 1) dans les case DM qui seront envoyées à la phase de manipulation des plaques.
Prêt 1: Même stratégie que pour les plaques.
Prêt 2: C'est toujours la même stratégie de flip flop mais pour activer ou désactiver un bit appelé prêt 2 qui sera utilisé dans un autre section du programme.
Communication: D'abord, on doit établir une stratégie pour avoir la présence du bras manipulateur. J'ai utilisé une fonction de comparaison pour activer un bit nécessaire pour la transition de ce segment du programme. Donc, lorsque le bras manipulateur se présente à la phase, un bit DM est envoyer de cette phase pour signaler la présence du bras. On la compare avec la valeur voulu puis on active un bit lorsque la comparaison est vrai. Ensuite, on utilise notre bit de prêt 2 lorsque les conditions de pression et de débit sont vraies. Une fois que les conditions pour la descente de la plaque sont remplis ( 1 logique placé dans les cases DM appropriées), il y a communication vers le bras manipulateur. Heureusement, avec l'automate Omron, les stratégies de communication peuvent être fait tel qu'indiqué dans le livre avec le bit occupé et le bit failed. Même stratégie de communication lorsque la phase a terminé son traitement.
Alarme niveau: Même stratégie que le remplissage. Il s'agit en bout de ligne d'activer ou désactiver le bit voulue avec une série de timer pour respecter les temps d'attente. Le bit activé est ensuite utilisé pour activer la sortie.
Alarme température
Alarme pression
Alarme débit: C'est la même stratégie pour les trois alarmes. La stratégie consiste à utiliser la fonction de comparaison et à y comparer directement la sortie analogique en 0 - 4095. À l'aide des marges de manoeuvre déterminées par le professeur, il s'agit d'activer un bit si la valeur va en-bas ou en-haut de valeur voulue. Ce bit sera utilisé pour acitver la sortie. Le squeltte du programme se fait comme celui du remplissage.
Paramètres PID: D'abord, on laisse faire le D car c'est un processus lent et il serait inutile d'anticipé les varitions. Premièrement, on doit calculer le gain de procéder. Ensuite, La procédure consiste à stabiliser le procédé à une température donnée soit 10% dans mon cas, puis on augmente la valeur du chauffage de 5%, car on ne peut pas augmenter plus pour ne pas dépasser 40 degré. Ensuite, on prend la courbe des données acquis avec le logiciel Trend de wonderware puis on fait les calculs appropriés à l'aide du graphique obtenu. On prend 2% de la courbe pour obtenir le temps de delai, puis on prend le 82.3% de la courbe pour obtenir le Tau. Finalement, avec les valeur obtenue, on fait les calculs appropriés pour le P et le I.
Remplissage eau: D'abord, il faut savoir qu'il y a un délai de trois secondes pour reseter l'alarme et avoir la stabilité. Au départ, on vérifie s'il y a une alarme. S'il n'y a ou pu d'alarme, on active un timer de trois secondes puis la lumière d'alarme éteint. S'il y a un alarme, on active un timer de trois secondes puis on allume la lumière d'alarme s'il y en a toujours une. Si oui, le programme tourne en boucle pour garder la lumière activée. Sinon, la boucle d'alarme retourne activée le timer de la boucle sans alarme puis attend pour éteindre la lumière. Le programme tourne dans cette boucle jusqu'à l'apparition d'une autre erreur. Notons, que les erreurs sont gérées par des bits qui sont activées et désactivées selon le cas.
Température
Alarme niveau: Même stratégie que le remplissage sauf qu'il faut mettre les bonnes conditions lors des transitions.
Chauffage
Plaque
Prêt 1
Prêt 2: Ces quatre onglets sont bâtis de façon similaires. En bon français, j'ai utilisé une stratégie flip flop, c'est-à-dire un GRAFCET avec 2 étapes 2 transitions. En gros, si le programme est sur une étape, il active le bit, s'il est sur l'autre étape, il désactive le bit.
Séquence de la phase_3 en mode automatique
D'abord, la pahse est en position initiale, c'est-à-dire que les cases DM pour la communication sont mises à zéro. Lorsque le bras manipulateur arrive, la pompe démarre afin d'obtenir les valeurs de débit et de pression désirées. Les valeurs ne peuvent devenir vraies qu'après 3 secondes au mieux. Une fois les conditions obtenues connues sous le nom de prêt 1, prêt 2 et plaque, la communication se fait pour avertir le bras qu'il peut effectuer ses actions déterminées. Il est à noter que les conditions du prêt 1 sont pratiquement toujours activé car il s'agit de la température et du niveau d'eau qui sont toujours maintenus aux valeurs voulues. Une fois la plaque descendu dans le bac, le bras remonte puis le traiement se fait pendant dix secondes. La valeur est écrite dans une case DM puis est communiquée pour avertir la bras manipulateur qu'il peut reprendre la plaque. Finalement, la pompe arrête et la phase se remet en position initiale.
Installer le logiciel Omron:
- aller sur le réseau chercher le programme et le coller dans le fichier download.
- faire l'installation dans notre ordinateur.
Configurer l'automate sur le réseau:
- partir le programme puis faire 'new'
- ensuite, choisir device name C51
type C51G/CJ1G setting OK
network ethernet setting 2-2 node 31
driver IP 172-19-0-31
Sélectionner projet:
- faire insert PLC puis aller dans Device name.
- inscrire Phase_3
type CQM1H setting CR51
network Type CS1 setting 2-3 node 3 pour phase 3
Programme Omron:
Programme Intouch:
27 Mai 2009
Caractérisation de la courbe PID de la température de l'eau du bac:
D'abord, les calculs PID ont été effectué en mode manuel en partant d'une valeur stable déterminer en pourcentage puis en augmentant cette valeur de 10%. À l'aide de la courbe obtenue, on peut alors calculer les valeur de Tau et du temp de délai pour ensuite calculer les valeurs de P, I et D. Si on regarde la courbe obtenue avec les paramètres, on remarque que la monté est quand même assez rapide que je qualifierais de plutot normal pour le procédé à cause du paramètre proportionnel qui est asser élevé et de la valeur du I faible de 2 secondes. Ainsi, on voit que la courbe dépasse la consigne car elle monte quand même assez rapidement. De plus, j'ai fait les calculs dans un optique de ratio 4 pour 1 car je voulais justement que la courbe atteigne la consigne rapidement pour ensuite baisser un peu en bas de la consigne pour ensuite se stabiliser. Le problème dans la courbe, c'est qu'elle prend trop de temps pour redescendre car il n'y a presque pas d'intégral. Autre problème en descente, la grande quantité d'eau dans le bac qui est refroidit par l'air ambient uniquement. J'ai la plus grande quantité d'eau dans mon bac. À l'aide du graphique obtenue, on pourrait tenter de d'ammenuiser le dépassement en doublant le I et en regardant l'effet obtenue. Plus de I signifierait que la courbe réagirait moins vite aux perturbations. Cependant, une fois le procédé stabilisé, on voit que la courbe demeure bien sur la consigne.
27 Mai 2009
Timer d'attente du Bras manipulateur: Nous devions être en mesure de modifier le temps de ce timer via l'interface-opérateur Intouch. Pour ce faire, Il faut d'abord créer un tagname I/O integer en prenant soins de cocher read-write et de mettre le dm correspondant.Aussi, il faut faire attention au plage RAW et EU qui ne peuvent aller en négative donc qui utiliseront la pleine plage de 0 à 65535. La plage opérateur est défini selon les valeurs min/max désirée. Ensuite, il faut le rattacher à l'item créer dans Intouch: Attente: #. Ensuite, il faut modifier le programme Omron en créant une boucle de modification avec un dm en BCD, un DM en binaire et le dm dans Intouch qui permet de modifier la valeur. Dans le first scan, il faut pré-insérer une valeur désirée dans le dm en BCD, puis la convertir en binaire dans le dm de Intouch (écriture opérateur). Ensuite, dans une fonction P_On on prend la valeur en BCD qu'on convertie dans le dm binaire, Puis on prend la valeur inscrit dans Intouch pour la convertir en BCD. La boucle est bouclé. La valeur en BCD est entré dans le timer directement par le dm.
Affiche P, I, D dans Intouch: La procédure en boucle est la mème. Il faut cependant créé un bouton On/Off pour éteindre le PID pour que les valeurs modifiées dans l'interace-opérateur soit effective dans le programme. On rattache alors un bit de contròle au bouton qui set/reset le bit dans le programme pour rompre la ligne d'activation du PID dans le programme.
Valeur min/max affiché dans Intouch et modifiable à même l'interface opérateur: on crée des tags pour chaque valeur min/max que l'on veut modifié via l'interface opérateur. Puis on rattache les tags au bon item crée dans Intouch comme exemple : Alarme haute température: #. Le tag doit être crée selon les valeurs RAW correspond au signal 4-20 binaire soit 819 à 4095 RAW puis on doit définir la valeur EU qui correspond à notre plage réel en décimal. Le dm rattaché à ce tag est directement placé dans le comprateur du programme Omron car le comparateur fonctionne directement avec les valeurs binaire.
17 février 2009
stratégie de programmation:
initialisation: Il n'y a pas vraiment de stratégie à adopter. Il faut activer et désactiver les bits nécessaires puis configurer les différents DM utilisés dans la suite du programme. Il faut aussi initialiser le contrôle PID en mettant les valeurs désirées.
Remplissage: C'est une stratégie de Timer et d'activation de bits. Un GRAFCET et une programmation standard suivant la logique établie.
Chauffage: Une fois encore, c'est une stratégie de Timer et d'activation de bits. Cependant, il y a l'incorporation d'un contrôle PID. Pour ce faire, Il faut faire un transfert de la valeur du PID instantanée (0 à 4095) pour ensuite la divisée par une valeur qui permettera d'obtenir un chiffre juste inférieur à la valeur du Timer de 52 secondes qui détermine le temps de cycle total. Ensuite, cette valeur obtenue est utilisée dans un timer qui déterminera le temps de chauffage.
Plaque: Stratégie de flip flop à deux étapes, deux transitions qui envoie une valeur (o ou 1) dans les case DM qui seront envoyées à la phase de manipulation des plaques.
Prêt 1: Même stratégie que pour les plaques.
Prêt 2: C'est toujours la même stratégie de flip flop mais pour activer ou désactiver un bit appelé prêt 2 qui sera utilisé dans un autre section du programme.
Communication: D'abord, on doit établir une stratégie pour avoir la présence du bras manipulateur. J'ai utilisé une fonction de comparaison pour activer un bit nécessaire pour la transition de ce segment du programme. Donc, lorsque le bras manipulateur se présente à la phase, un bit DM est envoyer de cette phase pour signaler la présence du bras. On la compare avec la valeur voulu puis on active un bit lorsque la comparaison est vrai. Ensuite, on utilise notre bit de prêt 2 lorsque les conditions de pression et de débit sont vraies. Une fois que les conditions pour la descente de la plaque sont remplis ( 1 logique placé dans les cases DM appropriées), il y a communication vers le bras manipulateur. Heureusement, avec l'automate Omron, les stratégies de communication peuvent être fait tel qu'indiqué dans le livre avec le bit occupé et le bit failed. Même stratégie de communication lorsque la phase a terminé son traitement.
Alarme niveau: Même stratégie que le remplissage. Il s'agit en bout de ligne d'activer ou désactiver le bit voulue avec une série de timer pour respecter les temps d'attente. Le bit activé est ensuite utilisé pour activer la sortie.
Alarme température
Alarme pression
Alarme débit: C'est la même stratégie pour les trois alarmes. La stratégie consiste à utiliser la fonction de comparaison et à y comparer directement la sortie analogique en 0 - 4095. À l'aide des marges de manoeuvre déterminées par le professeur, il s'agit d'activer un bit si la valeur va en-bas ou en-haut de valeur voulue. Ce bit sera utilisé pour acitver la sortie. Le squeltte du programme se fait comme celui du remplissage.
Paramètres PID: D'abord, on laisse faire le D car c'est un processus lent et il serait inutile d'anticipé les varitions. Premièrement, on doit calculer le gain de procéder. Ensuite, La procédure consiste à stabiliser le procédé à une température donnée soit 10% dans mon cas, puis on augmente la valeur du chauffage de 5%, car on ne peut pas augmenter plus pour ne pas dépasser 40 degré. Ensuite, on prend la courbe des données acquis avec le logiciel Trend de wonderware puis on fait les calculs appropriés à l'aide du graphique obtenu. On prend 2% de la courbe pour obtenir le temps de delai, puis on prend le 82.3% de la courbe pour obtenir le Tau. Finalement, avec les valeur obtenue, on fait les calculs appropriés pour le P et le I.
Calculs: Gp = delta sorties / delta entrées
Kp = 0.9 x (Tau / Td) x (1 / Gp)
Bp = 1 / Kp
Ti = 3.33 x Td
Onglet du programme:
Remplissage eau: D'abord, il faut savoir qu'il y a un délai de trois secondes pour reseter l'alarme et avoir la stabilité. Au départ, on vérifie s'il y a une alarme. S'il n'y a ou pu d'alarme, on active un timer de trois secondes puis la lumière d'alarme éteint. S'il y a un alarme, on active un timer de trois secondes puis on allume la lumière d'alarme s'il y en a toujours une. Si oui, le programme tourne en boucle pour garder la lumière activée. Sinon, la boucle d'alarme retourne activée le timer de la boucle sans alarme puis attend pour éteindre la lumière. Le programme tourne dans cette boucle jusqu'à l'apparition d'une autre erreur. Notons, que les erreurs sont gérées par des bits qui sont activées et désactivées selon le cas.
Température
Alarme niveau: Même stratégie que le remplissage sauf qu'il faut mettre les bonnes conditions lors des transitions.
Chauffage
Plaque
Prêt 1
Prêt 2: Ces quatre onglets sont bâtis de façon similaires. En bon français, j'ai utilisé une stratégie flip flop, c'est-à-dire un GRAFCET avec 2 étapes 2 transitions. En gros, si le programme est sur une étape, il active le bit, s'il est sur l'autre étape, il désactive le bit.
Séquence de la phase_3 en mode automatique
D'abord, la pahse est en position initiale, c'est-à-dire que les cases DM pour la communication sont mises à zéro. Lorsque le bras manipulateur arrive, la pompe démarre afin d'obtenir les valeurs de débit et de pression désirées. Les valeurs ne peuvent devenir vraies qu'après 3 secondes au mieux. Une fois les conditions obtenues connues sous le nom de prêt 1, prêt 2 et plaque, la communication se fait pour avertir le bras qu'il peut effectuer ses actions déterminées. Il est à noter que les conditions du prêt 1 sont pratiquement toujours activé car il s'agit de la température et du niveau d'eau qui sont toujours maintenus aux valeurs voulues. Une fois la plaque descendu dans le bac, le bras remonte puis le traiement se fait pendant dix secondes. La valeur est écrite dans une case DM puis est communiquée pour avertir la bras manipulateur qu'il peut reprendre la plaque. Finalement, la pompe arrête et la phase se remet en position initiale.
Programme Omron complet:
Grafcet de la communication:
Grafcet prêt 2:
Grafcet prêt 1:
Grafcet plaque:
20 janvier 2009
Grafcet du contrôle de la température:
13 janvier 2009
Grafcet du remplissage:
6 janvier 2009
Installer le logiciel Omron:
- aller sur le réseau chercher le programme et le coller dans le fichier download.
- faire l'installation dans notre ordinateur.
Configurer l'automate sur le réseau:
- partir le programme puis faire 'new'
- ensuite, choisir device name C51
type C51G/CJ1G setting OK
network ethernet setting 2-2 node 31
driver IP 172-19-0-31
Sélectionner projet:
- faire insert PLC puis aller dans Device name.
- inscrire Phase_3
type CQM1H setting CR51
network Type CS1 setting 2-3 node 3 pour phase 3